package com.ruoyi.user.mapper;

import java.util.List;
import java.util.Map;
import com.ruoyi.user.domain.TbUserVerification;
import com.ruoyi.user.domain.TbUser;

/**
 * 认证审核Mapper接口
 * 
 * @author ruoyi
 * @date 2025-07-30
 */
public interface TbUserVerificationMapper 
{
    /**
     * 查询认证审核
     * 
     * @param verificationId 认证审核主键
     * @return 认证审核
     */
    public TbUserVerification selectTbUserVerificationByVerificationId(Long verificationId);

    /**
     * 查询认证审核列表
     * 
     * @param tbUserVerification 认证审核
     * @return 认证审核集合
     */
    public List<TbUserVerification> selectTbUserVerificationList(TbUserVerification tbUserVerification);

    /**
     * 新增认证审核
     * 
     * @param tbUserVerification 认证审核
     * @return 结果
     */
    public int insertTbUserVerification(TbUserVerification tbUserVerification);

    /**
     * 修改认证审核
     * 
     * @param tbUserVerification 认证审核
     * @return 结果
     */
    public int updateTbUserVerification(TbUserVerification tbUserVerification);

    /**
     * 删除认证审核
     * 
     * @param verificationId 认证审核主键
     * @return 结果
     */
    public int deleteTbUserVerificationByVerificationId(Long verificationId);

    /**
     * 批量删除认证审核
     * 
     * @param verificationIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteTbUserVerificationByVerificationIds(Long[] verificationIds);

    /**
     * 批量删除管理用户
     * 
     * @param verificationIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteTbUserByUserIds(Long[] verificationIds);
    
    /**
     * 批量新增管理用户
     * 
     * @param tbUserList 管理用户列表
     * @return 结果
     */
    public int batchTbUser(List<TbUser> tbUserList);
    

    /**
     * 通过认证审核主键删除管理用户信息
     * 
     * @param verificationId 认证审核ID
     * @return 结果
     */
    public int deleteTbUserByUserId(Long verificationId);

    /**
     * 通过认证审核
     * 
     * @param verificationId 认证审核主键
     * @return 结果
     */
    public int approveVerification(Long verificationId);

    /**
     * 驳回认证审核
     *
     * @param params 包含verificationId和rejectReason的参数Map
     * @return 结果
     */
    public int rejectVerification(Map<String, Object> params);
}